一直以来,对Java
中自定义排序中是如何判断升序还是降序没有任何概念,每次遇到都是线程调试一把看看结果。
今天来介绍一种如何辨识自定义排序中是升序还是降序的方法
我的辨识方法:
顺序主要看返回-1的情况,-1决定了是否需要调整顺序。
1 | if(o1.compareTo(o2) < 0 ){ |
这里o1表示位于前面的字符,o2表示后面的字符
上面的条件是,o1比o2小,这个时候,我们需要需要调整它们的顺序
如果你想升序,那么o1比o2小就是我想要的;所以返回-1,类比成false;表示我不想调整顺序
如果你想降序,那么o1比o2小不是我想要的;所以返回1,类比成true;表示我想调整顺序
如下例子就是对数组进行升序排列。因为在o1 < o2
的时候,返回了-1,表名不需要调整顺序
1 | Character[] s = {'c', 'b', 'a'}; |